package com.zhuiyun.project.api.products.product.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zhuiyun.project.common.entity.BaseEntity;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import java.util.Date;

/**
 * @ClassName Product
 * @Description TODO 商品实体类
 * @Author ypq
 * @Date 2023/10/25 16:44
 **/
@Data
@TableName("workshop_product")
public class Product extends BaseEntity {

        /**
         * 商品ID
         * 主键由数据库自动生成（主要是自动增长型）
         */
        @TableId(type = IdType.AUTO)
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private Long productId;

        /**
        * 商品名称
        */
        private String productName;
        /**
        * 商品主图
        */
        private String mainImgId;
        /**
        * 商品介绍图片
        */
        private String detailImgId;
        /**
         * 商品原价（元）
         */
        private Double costOfGoods;
        /**
         * 商品现价（元）
         */
        private Double currentCommodityPrice;
        /**
         * vip价格
         */
        private Double vipPrice;
        /**
         * 库存数量
         */
        private Integer inventoryQuantity;
        /**
         * 商品描述
         */
        private String productDescription;
        /**
         * 上架状态（0未上架，1已上架）
         */
        private String shelfStatus;
        /**
         * 创建者
         */
        private String createBy;
        /**
         * 创建时间
         */
        @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")//JsonFormat是出参格式化。
        @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//DateTimeFormat 是入参格式化；
        private Date createTime;
        /**
         * 更新者
         */
        private String updateBy;
        /**
         * 更新时间
         */
        @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")//JsonFormat是出参格式化。
        @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//DateTimeFormat 是入参格式化；
        private Date updateTime;
        /**
         * 逻辑删除（0未删除，1已删除）
         */
        private Integer isDeleted;

        /**
         * 商品导航图（app端使用）
         */
        private String bannerImgId;


}
